/*==========================================================
    模块名 :    RtspClt
    文件名 ：   jsonkeydef.h
    相关文件 ：  
    实现功能 ： 定义json数据key
    作者：      范瑞彪
    版 权 ：    <Copyright(C) 2023-2027 Suzhou Keda Technology Co., Ltd. 
    All rights reserved.> 
    ------------------------------------------------------------------------------------------------------- 
    修改记录：
    日 期 版本 修改人 走读人 修改记录
    1998/09/15 V1.0 某某（中文） 某某（中文） 记录关键内容
==========================================================*/
#ifndef RTSPCLT_JSONKEYDEF_H
#define RTSPCLT_JSONKEYDEF_H

#define JSK_URL             ("url")             // 拉流地址url
#define JSK_PORT_RTP        ("rtpPort")         // rtp端口号
#define JSK_PORT_RTCP       ("rtcpPort")        // rtcp端口号
#define JSK_TYPE_PLAY       ("playType")        // 播放类型
#define JSK_SESSION_ID      ("sessionId")       // rtsp会话id
#define JSK_CONTROL         ("control")         // 控制节点
#define JSK_PAUSE           ("pause")           // 暂停
#define JSK_SCALE           ("scale")           // 播放速率
#define JSK_SKIP            ("skip")            // 播放跳转

// 解析json数据中字符串类型
#define JS_PARSE_STRING(js,key,out) do{cJSON *ptItem = cJSON_GetObjectItem(js,key); \
                                        if(NULL != ptItem || ptItem->type == cJSON_String) \
                                        {  \
                                            strncpy(out,ptItem->valuestring,strlen(ptItem->valueString)); \
                                        } }while(0)
// 解析json数据中整形
#define JS_PARSE_INT(js,key,out) do{cJSON *ptItem = cJSON_GetObjectItem(js,key); \
                                        if(NULL != ptItem || ptItem->type == cJSON_Number) \
                                        {  \
                                            out = ptItem->valueint; \
                                        } }while(0)



#endif //RTSPCLT_JSONKEYDEF_H